1. Technical Field
The present disclosure pertains to the field of printing and in particular, to systems and methods for the optimizing the processing of function based object operations in interpreted page description languages.
2. Description of Related Art
Document processing software allows users to view, edit, process, store, and print documents conveniently. The document may be described in a page description language (“PDL”). PDL's may include PostScript, Adobe PDF, HP PCL, Microsoft XPS, and variants thereof. A PDL description of a document provides a high-level description of each page in a document. This PDL description is often translated to a series of lower-level printer-specific commands when the document is being printed.
PDL descriptions are typically interpreted by a language processor, which converts the PDL instructions into another form suitable for printing. For example, when a document described using PostScript is interpreted, an interpreter converts PostScript instructions into printable output. PostScript and/or PostScript-compatible interpreters are widely used in printers and multi-function peripherals (MFPs).
In many situations, PostScript instructions may include mathematical functions that are associated with operators, which can operate on objects such as printable areas. For example, the mathematical functions may describe how a particular operation varies across an object or area that is the target of the operation.
Such mathematical functions are often specified as a Postscript procedure and may be called once for each sampled point in the area in order to yield the object attribute at that point. Because Postscript procedures are interpreted, calling a procedure thousands of times may cause significant processing overhead and use considerable processor or CPU time. Such processing delays may lead to lower throughput for a given processor and/or may result in design tradeoffs that result in lower quality print output. Thus, there is a need for systems and methods that permit the processing of functions associated with object operators in page description languages in a more optimal manner.